# 导入os模块
import os
# 定义存储指定目录大小的变量sum，并且为全局变量
sum = 0
# 创建计算指定目录的函数，形参为目录（路径）
def dir_size(dir):
    # sum定义为全局变量，为了在函数内部调用时，作为同一变量，用global声明
    global sum
    # 获取指定目录的所有文件信息
    dlist  =  os.listdir(dir)
    # 遍历获取指定目录下的文件
    for f in dlist:
        # 将目标目录（dir）与具体文件&文件夹（f）拼接
        file = os.path.join(dir,f)
        # 判断当前遍历的文件是否为文件
        if os.path.isfile(file):
            # 如果是文件，则将该文件的大小累计到sum变量中
            sum = sum + os.path.getsize(file)
        # 判断file是否为文件
        if os.path.isdir(file):
            # 如果file是一个文件夹，则递归调用dir_size()函数，进行计算
            dir_size(file)
            # 将本次调用dir_size函数时的返回值累加到sum变量中
            sum = sum + dir_size(file)
    # 返回sum的值
    return sum
# 调用dir_size函数实现 C:\Users\wsp\PycharmProjects\作业 路径的大小
f = dir_size(r'C:\Users\wsp\PycharmProjects\作业')
print('文件的字节大小为：',f)
